﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using SW_SoftBully.Models;
using System.Json;
using log4net;
using SW_SoftBully.Models.ModuloAdministracion.AreaComun;
using SW_SoftBully.Models.ModuloAdministracion.Edificio;
using SW_SoftBully.Models.ModuloAdministracion.TipoAreaComun;


namespace SW_SoftBully.Controllers.ModuloAdministracion.AreaComun
{
    public class AreaComunController : Controller
    {
        //
        // GET: /AreaComun/

        private SoftBullyDB db = new SoftBullyDB();
        AreaComunFacade areacomunFacade = new AreaComunFacade();
        EdificioFacade edificioFacade = new EdificioFacade();
        TipoAreaComunFacade tipoareacomunFacade = new TipoAreaComunFacade();

        public ActionResult Index()
        {
            return View();
        }

        public ActionResult AreaComun() {
            return View();
        }

        public ActionResult RegistrarAreaComun() {
            return View();
        }

        public ActionResult BuscarAreasComunes() {
            return View();
        }

        [HttpPost]
        public JsonResult cargarEdificios(EdificioBean edificio){
            List<EdificioBean> listaEdificio = edificioFacade.Listaredificio(edificio);
            return Json(new {listaEdificio});
        }

        [HttpPost]
        public JsonResult cargarPisos(EdificioBean edificio)
        {
            List<int> listaPiso = edificioFacade.Listarpiso(edificio);
            return Json(new { listaPiso });
        }


        [HttpPost]
        public JsonResult cargarTiposAreaComun(TipoAreaComunBean tipoareacomun)
        {
            List<TipoAreaComunBean> listaTipoAreaComun = tipoareacomunFacade.Listartipoareacomun(tipoareacomun);
            return Json(new { listaTipoAreaComun });
        }

        [HttpPost]
        public JsonResult registrarAreaComun(AreaComunBean areacomun) {

            string conexion = areacomunFacade.Registrarareacomun(areacomun);

            if (conexion == "Bien")
            {
                return Json(new { me = "Se ingreso correctamente " + areacomun.Nombre_Area });
            }
            else {
                return Json(new { me = conexion });
            }
        }

        public JsonResult buscarAreaComun(AreaComunBean areacomun) {
            List<AreaComunBean> listaAreaComun = areacomunFacade.Listarareacomun(areacomun);
            return Json(new { listaAreaComun});
        }

        [HttpPost]
        public JsonResult eliminarAreaComun(AreaComunBean areacomun)
        {
            string conexion = areacomunFacade.Eliminarareacomun(areacomun);

            if (conexion == "Bien")
            {
                return Json(new { me = "Se eliminó correctamente + " + areacomun.Nombre_Area + "del " + areacomun.Piso + " piso del Edificio " + areacomun.Nombre_Edificio });
            }
            else
            {
                return Json(new { me = conexion });
            }
        }

        [HttpPost]
        public JsonResult modificarAreaComun(AreaComunBean areacomun)
        {
            string conexion = areacomunFacade.Modificarareacomun(areacomun);

            if (conexion == "Bien")
            {
                return Json(new { me = "Se modificó correctamente + " + areacomun.Nombre_Area + "del " + areacomun.Piso + " piso del Edificio " + areacomun.Nombre_Edificio });
            }
            else
            {
                return Json(new { me = conexion });
            }
        }
    }
}
